home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / ead / ead02.dms / ead02.adf / AmigaBasicProgs / money (.txt) < prev    next >
AmigaBASIC Source Code  |  1988-01-19  |  8KB  |  378 lines

  1.     REM  MONEYBAGS by Becky F. Matthews
  2. REM  This is a freely-distributable PUBLIC DOMAIN program.
  3.  
  4. DEFINT a-z
  5. DEFLNG k
  6. DEFLNG score
  7. DIM mon(90)
  8. DIM tax(90)
  9. DIM sc(500)
  10. sx=0:cx=140:k=TIMER:score=0:c$="":level=1
  11. SAY ""
  12. RANDOMIZE TIMER
  13. SCREEN 1, 320, 200, 2, 1
  14. WINDOW 2,"",(0,0)-(311,185),20,1
  15. WINDOW 1,"Government Invasion Part I",(0,0)-(311,185),20,1
  16. PALETTE 0,0,0,0
  17. PALETTE 1,1,1,1
  18. PALETTE 2,1,1,0.13
  19. PALETTE 3,1,0,0
  20. CLS
  21. SAY "MEHEHTTTIY IYIYLL JJOHIYIYSTTIYIYKK IYIYNN POHOHRTTAA DUWEHEH."
  22. b$=" Joystick in Porta 2."
  23. GOSUB printsay  
  24. GOSUB gamescreen
  25. GOSUB objects
  26. main:
  27. GOSUB moneystart
  28. GOSUB starpage
  29. GOSUB moneypage
  30. GOSUB noise
  31. GOSUB move
  32. GOSUB taxstart
  33. GOSUB starpage
  34. GOSUB taxpage
  35. GOSUB noise
  36. GOSUB move
  37. GOSUB bothstart
  38. GOSUB starpage
  39. GOSUB bothpage
  40. GOSUB noise
  41. GOSUB move
  42. IF level = 4 THEN GOTO win
  43. level = level + 1
  44. b$=" Livello "+STR$(level)
  45. GOSUB printsay
  46. LOCATE 13,30
  47.  
  48. PRINT "Livello";level
  49. GOTO main
  50.  
  51. gamescreen:
  52. c=1
  53. FOR x = 1 TO 29 STEP 2
  54. LINE(70+x,20+x)-(220-x,160-x),c,b
  55. c=c+1:IF c > 3 THEN c = 1
  56. SOUND x*100,0.1
  57. NEXT 
  58. FOR t = 1 TO 30
  59. x=INT(RND*90)+100
  60. y=INT(RND*80)+50
  61. PSET(x,y),1
  62. NEXT 
  63. COLOR 2,3
  64. LOCATE 10,30
  65. PRINT "MONEYBAGS"
  66. COLOR 2,0
  67. LOCATE 13,30
  68. PRINT "Livello";level
  69. SOUND 300,1
  70. RETURN
  71.  
  72. objects:
  73. WINDOW OUTPUT 2
  74. DIM bags$(130)
  75. RESTORE bagsdata
  76. FOR n = 1 TO 130
  77. READ a
  78. bags$ = bags$ + CHR$(a)
  79. NEXT 
  80. OBJECT.SHAPE 1,bags$
  81. OBJECT.X 1,10
  82. OBJECT.Y 1,10
  83. OBJECT.ON 1
  84. GET(10,10)-(40,30),mon
  85. OBJECT.CLOSE 1
  86. DIM taxman$(130)
  87. RESTORE taxmandata
  88. FOR n = 1 TO 130
  89. READ a
  90. taxman$ = taxman$ + CHR$(a)
  91. NEXT 
  92. OBJECT.SHAPE 2,taxman$
  93. OBJECT.X 2,10
  94. OBJECT.Y 2,10
  95. OBJECT.ON 2
  96. GET(10,10)-(30,30),tax
  97. OBJECT.CLOSE 2
  98. WINDOW 1
  99. DIM sight$(60)
  100. RESTORE sightdata
  101. FOR n = 1 TO 60
  102. READ a
  103. sight$ = sight$ + CHR$(a)
  104. NEXT 
  105. OBJECT.SHAPE 3,sight$
  106. OBJECT.X 3,140
  107. OBJECT.Y 3,134
  108. OBJECT.ON 3
  109. RETURN
  110.  
  111. moneystart:
  112. SAY "PREHNDIHIH TUWTTIHIH-IY SAA/C/C/HIY-/C/HEH-PPUWOHIYIY."
  113. SAY "AA/C/C/HIYAAPPAA IY SOHOHLDHIYIY.":b$=" Acchiappa i soldi ."
  114. GOSUB printsay
  115. RETURN
  116.  
  117. taxstart:
  118. SAY "AADEHEHSSOHOH DEHEHVIY EHEHVIYIYTTAAREHEH-IY FUWNZIYOHNAARIY DEHLLAA FIYNAANZZAA."
  119. SAY "EHVIYTTAA-IY FIYNAANZZIYEHEHRIYIY.":b$=" Evita i Finanzieri."
  120. GOSUB printsay
  121. RETURN
  122.  
  123. bothstart:
  124. SAY "PREHNDIY-IY SAA/C/C/HIY PIYEHNIY DIY SOHLDIY EHVIYTTAANDOH IY FIYNAANZZIYEHEHRIYIY."
  125. SAY "PREHNDIY-IY SOHLDIY,NOHN-IY FIYNAANZZIYEHRIYIY.":b$=" Prendi i soldi non i Finanzieri."
  126. GOSUB printsay
  127. RETURN
  128.  
  129. move:
  130. FOR t = 1 TO 2
  131. FOR x = 10 TO 260 STEP 90
  132. FOR y = 105 TO 1 STEP -3
  133. WINDOW OUTPUT 2
  134. GET(x,y)-(90+x,y+80),sc
  135. WINDOW OUTPUT 1
  136. PUT(100,50),sc,PSET 
  137. SOUND y*5+300,0.1
  138. GOSUB joystick
  139. NEXT 
  140. FOR y = 1 TO 41
  141. GET(100,51)-(190,127),sc
  142. PUT(100,54),sc,PSET
  143. LINE(100,50)-(190,53),0,bf
  144. SOUND y*5+300,0.1
  145. GOSUB joystick
  146. NEXT 
  147. NEXT 
  148. NEXT 
  149. RETURN
  150.  
  151. starpage:
  152. WINDOW OUTPUT 2
  153. CLS
  154. FOR star = 1 TO 100
  155. x=INT(RND*311):y=INT(RND*185)
  156. PSET(x,y),1
  157. NEXT 
  158. RETURN
  159.  
  160. moneypage:
  161. s=0
  162. FOR n = 1 TO 3
  163. FOR t = 1 TO 11
  164. x=t*30+10
  165. y=INT(RND*8)*20+10
  166. PUT(x-30,y),mon,PSET
  167. NEXT 
  168. NEXT 
  169. RETURN
  170.  
  171. taxpage:
  172. s=level-1
  173. FOR t = 1 TO 11
  174. x=t*23+10
  175. FOR n = 1 TO (0+level)
  176. y=INT(RND*7)*25+10
  177. PUT(x-23,y),tax,PSET
  178. NEXT 
  179. NEXT 
  180. RETURN
  181.  
  182. bothpage:
  183. s=level
  184. FOR t = 1 TO 11 
  185. x=t*30+10
  186. FOR n = 1 TO (3+level)
  187. y=INT(RND*7)*25+10
  188. b=INT(RND*100)
  189. IF b > 40 THEN 
  190.  PUT(x-30,y),tax,PSET
  191. ELSE 
  192.  PUT(x,y),mon,PSET
  193. END IF
  194. NEXT 
  195. NEXT 
  196. RETURN
  197.  
  198. printsay: 
  199. 'IF c$="" THEN c$=b$
  200. 'r$=TRANSLATE$(c$)
  201. 'SAY(r$)
  202. FOR x=1 TO 39
  203. LOCATE 2,x
  204. SOUND x*50,0.1
  205. PRINT LEFT$(b$,40-x)
  206. NEXT 
  207. 'c$=""
  208. RETURN
  209.  
  210. noise:
  211. FOR n=1 TO 5
  212. FOR p=800 TO 200 STEP -50
  213. SOUND p,0.2
  214. NEXT 
  215. NEXT 
  216. RETURN
  217.  
  218.  
  219. joystick:
  220. IF STICK(2)=1 THEN GOSUB right
  221. IF STICK(2)=-1 THEN GOSUB left
  222. IF STICK(2)=0 AND sx=1 THEN GOSUB right
  223. IF STICK(2)=0 AND sx=2 THEN GOSUB left
  224. p = POINT(cx+3,125)
  225. IF TIMER>k+0.5 THEN
  226.  IF p = 3 OR p = 2 THEN GOSUB score
  227. END IF
  228. RETURN
  229.  
  230. right:
  231. p = POINT(cx+3,125)
  232. IF TIMER>k+0.5 THEN
  233.  IF p = 3 OR p = 2 THEN GOSUB score
  234. END IF
  235. cx=cx+4
  236. IF cx>182 THEN cx=182
  237. IF cx<103 THEN cx=103
  238. OBJECT.X 3,cx
  239. sx=1
  240. RETURN
  241.  
  242. left:
  243. p=POINT(cx+3,125)
  244. IF TIMER>k+0.5 THEN
  245.  IF p = 3 OR p = 2 THEN GOSUB score
  246. END IF
  247. cx=cx-4
  248. IF cx<103 THEN cx=103
  249. IF cx>182 THEN cx=182
  250. OBJECT.X 3,cx
  251. sx=2
  252. RETURN
  253.  
  254. score:
  255. CIRCLE(cx+3,125),4,1
  256. LOCATE 22,12
  257. IF p = 2 THEN score = score + 1:SOUND 900,1
  258. IF p = 3 THEN score = score - 5:SOUND 500,1
  259. PRINT "SOLDI = $";score*100;
  260. IF score < 0 AND s>0 THEN
  261.  RETURN jail
  262. ELSEIF score <0 THEN 
  263.  GOTO gameover:'restart 
  264.  
  265. END IF
  266.  
  267. k=TIMER
  268. RETURN
  269.  
  270. restart:
  271. FOR t=1 TO 100:NEXT t:b$=" ":GOSUB printsay
  272. SAY "AAIY PEHRSOH TROHPPOH PREHSTOH TUWTTIY-IY SOHLDIY. PROHVAA-AAN/COHOHRAA."
  273. SAY "PROHVAA-AAN/COHOHRAA.":b$=" Prova ancora."
  274. IF s=0 THEN GOSUB printsay
  275.  
  276. sx=0:cx=140:k=TIMER:score=0:c$="":level=1
  277. CLS
  278. OBJECT.X 3,cx
  279. GOSUB gamescreen:
  280.  FOR t=1 TO 100:NEXT t:b$="  ":GOSUB printsay
  281. GOTO main
  282. STOP
  283.  
  284. jail:
  285. FOR t = 1 TO 2
  286. FOR n = 400 TO 100 STEP - 25
  287. SOUND n,1
  288. NEXT 
  289. NEXT
  290. FOR t=1 TO 100:NEXT t:b$=" ":GOSUB printsay
  291.  
  292. SAY "SEHIY AAL VEHRDEHEH,EH DEHVIYIY-IY SOHLDIY AAL FIYNAANZZIYEHREHEH."
  293. SAY "SEHIY AAL VEHRDEHEH.":b$=" Sei al verde."
  294. GOSUB printsay
  295. SAY "/CAATTIYVEHLLOH.  EHEH-BIYRIYIY/C/C/HIYIYNOHOH.  SEHEHIY FUWRBOHOH.":b$=" Cattivello - Biricchino - sei furbo ."
  296. GOSUB printsay
  297. SAY "LAA FIYNAANZZAA TIY SEH/CUWEHSTRAA LAA /CAASAA,LAA MAA/C/C/HIYNAA-EH TUWTTIYIY-IY TUWOHIYIY AAVEHRIYIY."
  298. SAY "AARRIYVEHDEHEHRCHIYIY.":b$=" Arrivederci."
  299. GOSUB printsay
  300. SAY "DEHVIYIY AANDAAREH-IYN PRIYJJOHOHNEHEH."
  301. SAY "VAAIY IYN PPRRIYJJOHOHNEHEH."
  302.  
  303. FOR x = 10 TO 300 STEP 35
  304. LINE(x,0)-(x+10,185),1,bf
  305. NEXT 
  306.  
  307. gameover:
  308. LOCATE 2,6
  309. SAY "PREHMIYIY EHSS PEHR JIYOH/CAAREHEH AAN/COHOHRAAAA":PRINT "Premi S per giocare ancora "
  310. a$=""
  311. WHILE a$=""
  312. a$= INKEY$
  313. WEND
  314. IF UCASE$(a$)="S" THEN GOTO restart
  315. SYSTEM
  316. END
  317.  
  318. win:
  319. CLS
  320. c=1
  321. FOR x = 1 TO 80 STEP 2
  322. LINE(x,x)-(311-x,185-x),c,b
  323. c=c+1:IF c>3 THEN c=1
  324. SOUND x*80,0.5
  325. NEXT 
  326. LOCATE 12,16
  327. SAY "AAIY VIYNTOHOH TUW.":PRINT "Hai vinto ."
  328. GOTO gameover
  329.  
  330. bagsdata:
  331. DATA   0,  0,  0,  0,  0,  0,  0,  0
  332. DATA   0,  0,  0,  2,  0,  0,  0, 24
  333. DATA   0,  0,  0, 13,  0, 24,  0,  3
  334. DATA   0,  0,  0,  0,  0,  0,  0,  0
  335. DATA   0,  0,  0,  0,  0,  0,  0,  0
  336. DATA   0,  0,  0,  0,  0,  0,  0,  0
  337. DATA   0,  0,  0,  0,  0,  0,  0,  0
  338. DATA   0,  0,  0,  0,  0,  0,  0,  0
  339. DATA   0,  0,  0,  0,  0,  0,  0,  0
  340. DATA   0,  0,  0,  0,  0,  0,  0,  0
  341. DATA   0,  0,  3,  7,192,  0,  1,252
  342. DATA  64,  0,  0,120,  0,  0,  3,207
  343. DATA   0,  0,  6,  1,128,  0, 14, 79
  344. DATA 192,  0, 14,  1,192,  0, 15,201
  345. DATA 192,  0,  6,  1,128,  0,  3,207
  346. DATA   0,  0,  0,252,  0,  0,  0,  0
  347. DATA   0,  0
  348.  
  349. taxmandata:
  350. DATA   0,  0,  0,  0,  0,  0,  0,  0
  351. DATA   0,  0,  0,  2,  0,  0,  0, 24
  352. DATA   0,  0,  0, 13,  0, 24,  0,  3
  353. DATA   0,  0,  0,252,  0,  0,  0,104
  354. DATA   0,  0,  0, 48,  0,  0,  7,223
  355. DATA   0,  0, 14,219,128,  0, 14,219
  356. DATA 128,  0, 14,221,128,  0, 12,253
  357. DATA 128,  0, 13,255,128,  0,  1,206
  358. DATA   0,  0,  1,206,  0,  0,  1,206
  359. DATA   0,  0,  7,207,128,  0,  0,204
  360. DATA   0,  0,  0,  0,  0,  0,  0,  0
  361. DATA   0,  0,  7,223,  0,  0, 14,219
  362. DATA 128,  0, 14,219,128,  0, 14,221
  363. DATA 128,  0, 12,253,128,  0,  1,254
  364. DATA   0,  0,  1,206,  0,  0,  1,206
  365. DATA   0,  0,  1,206,  0,  0,  7,207
  366. DATA 128,128
  367.  
  368. sightdata:
  369. DATA   0,  0,  0,  0,  0,  0,  0,  0
  370. DATA   0,  0,  0,  2,  0,  0,  0, 16
  371. DATA   0,  0,  0,  7,  0, 25,  0,  3
  372. DATA   0,  0,  2,  0,  5,  0,  8,128
  373. DATA   5,  0,  2,  0,  0,  0,  0,  0
  374. DATA   0,  0,  0,  0,  0,  0,  0,  0
  375. DATA   0,  0,  0,  0,  0,  0,  0,255
  376. DATA   0,  0,  0,  0
  377.  
  378.